2025年2月にAWS Security HubのConfig.1の評価方法が変わるため詳細な条件を確認してみた
こんにちは、臼田です。
みなさん、セキュリティチェックしてますか?(挨拶
今回はAWS Security Hubを利用している一部の環境に対して通知が届いている、Config.1の評価方法が変わるのでAWS Security Hubのスコアが下がるかもよ、という内容の詳細を確認していきます。
通知の内容
通知はメールだと[Action may be required] Upcoming changes to status of AWS Security Hub controls [AWS Account: 999999999999]
というタイトルで届いています。AWS Health DashboardでもSecurityHub operational notification
として通知されています。
私のざっくり要約は以下のとおりです。
- Security HubのConfig.1の評価方法が変更されるため、2025年2月からSecurity Hubのスコアが下がる可能性があるよ
- 具体的には今のConfig.1の達成条件の1つ「リソース記録が欠落している場合」の評価手法が不確実であるところを適切に変更するためスコアを高くしたいなら適切に対処する必要があるよ
- 対処するにはConfigで対象のすべてのリソース記録を有効化してね
具体的な通知内容の全文は以下の通り。
You are receiving this notification because your account is currently generating a FAILED status result for Security Hub control Config.1 [1]. This control generates a FAILED status when any other Security Hub control is unable to access the resource details that it needs to evaluate the resource. To access resource details, controls in Security Hub rely on the resource recorder in AWS Config being configured to record specific resource types. For an individual Security Hub control, if the resource type that the control requires is not configured to be recorded in AWS Config, the control is unable to produce an accurate PASSED or FAILED result. We want to make you aware of a change we are making to the status of controls in this scenario to make it clearer that the actual status of the control is unknown.
Currently, if a control cannot be successfully evaluated due to missing resource recording in AWS Config, the control will either generate a PASSED status if recording was never enabled for the resource, or maintain the last generated status if resource recording was disabled after being previously enabled. The control Config.1 will also generate a FAILED result to indicate that at least one control does not have sufficient resource recording.
We are planning to make a change in February 2025, such that if a control cannot be successfully evaluated due to missing resource recording in AWS Config, the control will generate a status of UNKNOWN, making it clear that the status of the control is unknown. This will affect the security score of standards, as security score is based on percentage of PASSED controls [2].
The following list summarizes the key activities and dates:
- We recommend you immediately review your Config.1 control. If the status is still FAILED, it means that you have a discrepancy between resources required by Security Hub to be recorded and resources actually configured to be recorded. The details of Config.1 control contains the specific resource types that are required to be recorded but are not.
- For each resource type identified as not recorded from Config.1 control, we recommend you immediately either enable recording of that resource type [3], or disable the control(s) in Security Hub which depend on that resource type.
- After completing the previous item, we recommend confirming that control Config.1 is producing a PASSED status. As Config.1 is a periodic control, it may take up to 24 hours for the control to reflect the new status.
- In February, 2025, we will apply the changes for controls that cannot be successfully evaluated due to missing resource recording in AWS Config, the control will generate a status of ‘Unknown’.
Please refer to the Security Hub user guide “Evaluating compliance status and control status in Security Hub” for more details on finding and control status [4].
If you have additional questions, concerns, or comments about these changes, please reach out to AWS Support [5].
[1] https://docs.aws.amazon.com/securityhub/latest/userguide/config-controls.html
[2] https://docs.aws.amazon.com/securityhub/latest/userguide/standards-security-score.html
[3] https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-setup-prereqs.html
[4] https://docs.aws.amazon.com/securityhub/latest/userguide/controls-overall-status.html
[5] https://aws.amazon.com/support
日本語訳すると以下のようになります。
この通知は、あなたのアカウントが現在、セキュリティハブコントロールConfig.1 [1]に対してFAILEDステータス結果を生成しているために送信されます。このコントロールは、他のセキュリティハブコントロールが評価に必要なリソースの詳細にアクセスできない場合にFAILEDステータスを生成します。リソースの詳細にアクセスするには、Security Hubのコントロールは、AWS Configのリソースレコーダーが特定のリソースタイプを記録するように設定されている必要があります。個々のSecurity Hubコントロールでは、コントロールに必要なリソースタイプが記録されるように設定されていない場合、 AWS Config では、コントロールは正確な PASSED または FAILED 結果を生成できません。このシナリオでは、コントロールの実際のステータスが不明であることを明確にするために、コントロールのステータスに変更を加えていることをお知らせします。
現在、AWS Config でリソース記録が欠落しているためにコントロールを正常に評価できない場合、コントロールは、リソースの記録が有効になっていない場合は PASSED ステータスを生成するか、以前に有効にされた後にリソース記録が無効になった場合は最後に生成されたステータスを維持します。コントロール Config.1 は、少なくとも 1 つのコントロールに十分なリソース記録がないことを示す FAILED 結果も生成します。
2025 年 2 月に、AWS Config にリソース記録がないためコントロールを正常に評価できない場合、コントロールは UNKNOWN ステータスを生成し、コントロールのステータスが不明であることを明確にするように変更する予定です。セキュリティスコアは合格したコントロールの割合に基づいているため、これは標準のセキュリティスコアに影響を与えます[2]。
次のリストは、主要な活動と日付をまとめたものです。
- Config.1コントロールをすぐに確認することをお勧めします。ステータスがまだFAILEDの場合は、Security Hubで記録する必要があるリソースと実際に記録するように構成されているリソースの間に矛盾があることを意味します。Config.1の詳細コントロールには、記録する必要があるが記録されていない特定のリソース タイプが含まれています。
- Config.1コントロールから記録されていないと特定された各リソースタイプについては、そのリソースタイプの記録を直ちに有効にするか[3]、そのリソースタイプに依存するSecurity Hubのコントロールを無効にすることをお勧めします。
- 前の項目を完了したら、コントロール Config.1 が PASSED ステータスを生成していることを確認することをお勧めします。Config.1 は定期的なコントロールであるため、コントロールが新しいステータスを反映するまでに最大 24 時間かかる場合があります。
- 2025 年 2 月に、AWS Config にリソース記録がないため正常に評価できないコントロールに変更を適用し、コントロールは「不明」のステータスを生成します。
検出と制御ステータスの詳細については、Security Hubユーザーガイド「Security Hubでのコンプライアンスステータスと制御ステータスの評価」を参照してください[4]。
これらの変更について追加の質問、懸念、またはコメントがある場合は、AWSサポート[5]にお問い合わせください。
つまりどういうことだってばよ
メールだとタイトルに[Action may be required]
とか書いてあったりもするので、「つまり自分はアクションした方が良いの!?」と悩む方がいると思うのでまずこれにアンサーします。
AWS Security Hubのスコアを高くしたいなら対応しよう、放置気味なら(その行為がいいかどうかは置いておいて)対応しなくていいよ。
次に、この通知を受け取ったユーザーが全員この内容の対象者かどうかと聞かれたら、答えはNoです。一部の人は対象者です。(しかし、通知を受け取っている次点でConfig.1のコントロールが失敗しているので、対処したほうがいいのは変わりありません)
以降は詳細を読みたい方が読んでください。
今回の変更点の詳細
なぜ今回の通知が発生しているのかは、上記要約の通り既存環境のAWS Security Hubのスコアが変わる可能性があるためで、なぜ変更があるのかも、上記要約の通りConfig.1の評価手法が不確実だからです。
前提の説明をしていきます。
まずConfig.1のコントロールの評価では以下3つの条件すべてを(基本的に)満たす必要があります。
- AWS Configが有効化されていること
- 有効化されたコントロールに対応する全てのリソースが記録されていること
- サービスリンクドロール(AWSServiceRoleForConfig)を使用していること
今回の問題は2の「有効化されたコントロールに対応する全てのリソースが記録されていること」という条件に関係しています。
従来ではこの条件のチェック方法が不確実で、図にすると以下のような状態から変わります。
図にある通り、現状では以下3つの不確実なチェック結果の状態があります。
- 特定のリソース記録が有効にされたことが無くFindingがPASSEDになっている
- 特定のリソース記録が有効にされた後無効になりFindingが最終ステータスのPASSEDになっている
- 特定のリソース記録が有効にされた後無効になりFindingが最終ステータスのFAILEDになっている
上記をもう少し補足すると、2の「有効化されたコントロールに対応する全てのリソースが記録されていること」の条件では、現状AWS Security Hubでチェックしている様々なリソースに対するセキュリティチェックに対し、それらすべてのチェックの元となるConfigによるリソースの記録が有効化されていることが条件になっています。例えばセキュリティグループのチェックをするEC2.19のコントロールが有効になっていれば、ConfigでAWS::EC2::SecurityGroup
のリソースタイプのリソース記録が有効になっている必要がある、ということです。
しかし、現状ではこのチェックが不確実であり、上記3つの状態がその具体的な状態になります。本当は正しくチェックできていないのに、いずれもPASSED
かFAILED
になっちゃうってことですね。
なので2025年2月からはこれらを適切に解釈し、最終的にConfig.1のコントロールステータスがUNKNOWN
になる、ということです。
コントロールステータスがUNKNOWN
になると、スコアの算出対象のコントロールとして数えられるため、スコアが下がる可能性があります。
セキュリティスコアの計算 - AWS Security Hub
ちなみにこの通知文ではコントロールのステータスと検出結果(Findings)のステータスが若干混ざって表現されていて正確なところがわからないのでちょっと解釈が間違っているかもしれませんが、大体あっていると思います。
どう対処したらいいの?
上記の変更点で解説したように、Config.1で不確実になっている内容が影響するため、Config.1を正しく満たせばOKです。
つまり下記3つですね。
- AWS Configが有効化されていること
- 有効化されたコントロールに対応する全てのリソースが記録されていること
- サービスリンクドロール(AWSServiceRoleForConfig)を使用していること
AWS Configのコントロール - AWS Security Hub
基本的にはConfigですべてのリソース記録を有効にすることを検討しつつ、難しい場合にはAWS Security Hubで対象にしているすべてのリソースに対してリソース記録を有効化します。
現状Config.1に失敗している場合に、どの条件が理由で失敗しているかはFindings内のStatusReasons
で確認できます。詳細は下記ブログを参照してください。
対象のリソース記録を有効化したら、24時間程度放置してステータスが改善されるか確認しましょう。
また、今回の争点になっている項目は2ですが、(1は言わずもがな)3についても対応できるとより良いでしょう。
ただ3については状況に応じ抑制することが可能で、下記が参考になります。特に古くから使っている環境ではサービスリンクドロールが無い時代から設定していたため抑制したい、というケースもあると思います。
まとめ
AWS Security HubのConfig.1の評価方法が変わるという通知内容を確認しました。
2025年2月の変更前に対処し、セキュリティスコア100%生活を目指しましょう。